local ClientOHOH = _G.ClientOHOH;

local M = ClientOHOH.class.new(script, ClientOHOH.files.BaseObject());
local CallBackManager = ClientOHOH.load.CallBackManager();

local PlayerInfoHelper=_G.ClientOHOH.load.PlayerInfoHelper()

gSelectInsts={
    root ="ctrl.content.root",--显示隐藏
    icon ="ctrl.content.icon",--武器图片
    titleBg ="ctrl.content.color_title",--称号背景色控制
    title ="ctrl.content.title",--称号
    name="ctrl.content.name",--名字
    value="ctrl.content.value",--攻击力
    bg="ctrl.content.bg",-- 称号背景色
    equip="ctrl.content.btn_equip", --装备按钮
    unequip="ctrl.content.btn_equip", --卸载按钮
    head="ctrl.content.head", --使用者头像
    using="ctrl.content.use", --使用提示文字
    notUsing="ctrl.content.useNot", --未使用提示文字

    level="ctrl.content.lv", --等级

}





function M.new(...)
	return M(...);
end;


function M.ctor(self,ctrl)

    self.ctrl=ctrl
    self.normalUi=ctrl:InitUiInst2(ctrl.main_inst,gSelectInsts)

    self:SetNormalUiShow(false)


	M.super.ctor(self);

end;


function M.dtor(self)
	M.super.dtor(self);
end;

--显示某一项数据
function M.Show(self,cell)

    if self.cell then --旧的选中cell，取消选中状态
        self.cell:NoActive()
    end

    if  self.UpdateConnect then
        self.UpdateConnect:Disconnect()
        self.UpdateConnect=nil
    end

    self.normalUi.root.Visible=true

    cell:Active()
    self.data=cell:GetData()
    self.cell=cell

    self.normalUi.icon.Image=self.data.icon
    self.normalUi.titleBg.BackgroundColor3=self.ctrl:getBgColorByTitleId(self.data.titleId)
    self.normalUi.bg.BackgroundColor3=self.ctrl:getBgColorByTitleId(self.data.titleId)
    self.normalUi.title.Text=self.data.title
    self.normalUi.name.Text=self.data.name
    self.normalUi.value.Text=math.floor(self.data.value)
    self.normalUi.level.Text=self.data.level
    self.normalUi.using.Visible=false
    self.normalUi.notUsing.Visible=false

    if self.data.userId then
        self.normalUi.head.Visible=true
        self.normalUi.using.Visible=true

        PlayerInfoHelper.GetPlayerInfo(self.data.userId,function(head,name)
            self.normalUi.head.Image=head
        end)
    else
        self.normalUi.notUsing.Visible=true
        self.normalUi.head.Visible=false;
    end

    
   self.UpdateConnect= self.cell:GetData().UpdateEvent:Connect(function()
        if self.cell then
            self:UpdateEquipStateText(self.cell:IsEquiped(),self.cell:GetData())
        end
         
    end)
    self:UpdateEquipStateText(self.cell:IsEquiped(),self.cell:GetData())

end



--获取被选中的cell
function M.GetSelectCell(self)
    return self.cell
end

function M.UpdateEquipStateText(self,isEquip,data)
    -- print("++++++++++UpdateEquipStateText++++++++++++++",data.userId)
    self.normalUi.using.Visible=false
    self.normalUi.notUsing.Visible=false

    if data.userId then
        self.normalUi.head.Visible=true
        self.normalUi.using.Visible=true

        PlayerInfoHelper.GetPlayerInfo(data.userId,function(head,name)
            self.normalUi.head.Image=head
        end)
    else
        self.normalUi.notUsing.Visible=true
        self.normalUi.head.Visible=false;
    end
end



function M.SetNormalUiShow(self,isShow)
    self.normalUi.root.Visible=isShow
end 

--关闭显示信息
function M.Close(self)
    if self.cell then
        self.cell:NoActive()
    end

    self.cell=nil
    self.data=nil
end


return M